//
//  LGSBasicBinaryGate.h
//  LogicSim
//
//  Created by Jeremy Pereira on 14/02/2013.
//
//

#import "LGSNode.h"

/*!
 *  @brief Base class for primitive binary gates.
 *
 *  The and, or, xor gates are all characterised by having two inputs and one
 *  output.  They also all have the same gate delay.  This is the super class to 
 *  all of those.
 *
 *  The inputs are labelled "a" and "b" and the output is labelled "output".
 */

@interface LGSBasicBinaryGate : LGSNode

/*!
 *  @brief LGSName representing the first input.
 *  @return input a name.
 */
+(LGSName*) inputAName;
/*!
 *  @brief LGSName representing the second input.
 *  @return input b name.
 */
+(LGSName*) inputBName;
/*!
 *  @brief LGSName representing the output.
 *  @return output name.
 */
+(LGSName*) outputName;

@end
